package com.cn.mmd.service;

import com.cn.mmd.model.Schoolwork;
import com.cn.mmd.model.StudentWork;

import java.util.List;

/**
 * 作业
 */
public interface WorkService {


    /**
     * 根据所有字段查询id
     * @param schoolwork
     * @return
     */
    Schoolwork selectByAll(Schoolwork schoolwork);

    /**
     * 添加作业信息
     * @param record
     * @return
     */
    int insertSelective(Schoolwork record);

    /**
     * 查询所有课程信息
     * @param
     * @return
     */
    List<Schoolwork> selectAll(Schoolwork schoolwork);

    /**
     * 添加学生和作业的关联
     * @param record
     * @return
     */
    int insertSelective(StudentWork record);

    /**
     * 根据学生id 和 作业id 查询作业状态
     * @param studentWork
     * @return
     */
    StudentWork selectBy(StudentWork studentWork);

    /**
     * 根据作业名字查询
     * @param schoolwork
     * @return
     */
    List<Schoolwork> selectAlls(Schoolwork schoolwork);

    /**
     * 根据状态 和 作业id聚合
     * @param studentWork
     * @return
     */
    int selectByCount(StudentWork studentWork);

    /**
     * 根据学生id 和 作业id 修改
     * @param studentWork
     * @return
     */
    int updateBy(StudentWork studentWork);

    /**
     * 统计一共有多少作业
     * @param schoolwork
     * @return
     */
    int countLimitNum(Schoolwork schoolwork);

    /**
     * 根据学生id查看作业
     * @param studentWork
     * @return
     */
    List<StudentWork> selectByStuId(StudentWork studentWork);

    /**
     * 根据学生id聚合
     * @param studentWork
     * @return
     */
    int countLimitNums(StudentWork studentWork);

    /**
     * 查看作业详情
     * @param schoolworkid
     * @return
     */
    Schoolwork selectByPrimaryKey(Integer schoolworkid);

    /**
     * 根据主键删除作业
     * @param schoolworkid
     * @return
     */
    int deleteByPrimaryKey(Integer schoolworkid);

    /**
     * 删除学生的作业关联
     * @param studentWork
     * @return
     */
    int deleteBySchoolWork(StudentWork studentWork);

}
